home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2001 / MacHack 2001.toast / pc / The Hacks / X-Menu 2.0 / CustomWindow.m < prev    next >
Encoding:
Text File  |  2001-06-23  |  1.5 KB  |  59 lines

  1. #import "CustomWindow.h"
  2. #import <AppKit/AppKit.h>
  3.  
  4. @implementation CustomWindow
  5.  
  6. - (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
  7. {
  8.     NSWindow* result = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
  9.     
  10.     [result setLevel: NSStatusWindowLevel];
  11.     [result setHasShadow:NO];
  12.     
  13.     [self setContentSize:NSMakeSize(35, 21)];
  14.     
  15.     {
  16.         NSScreen *screen = [NSScreen mainScreen];
  17.         NSRect     frame = [screen frame];
  18.         
  19.         frame.origin.y = frame.size.height - 21;
  20.         frame.origin.x = frame.size.width / 2 - 17.5;
  21.         
  22.         [self setFrameOrigin:frame.origin];
  23.         
  24.         frame = [screen frame];
  25.     }
  26.     
  27.     return result;
  28. }
  29.  
  30. - (void)mouseDown:(NSEvent *)theEvent
  31. {  
  32.     NSEvent    *event = nil;
  33.     NSPoint    newLocation = NSMakePoint(0, -4);
  34.     
  35.     event = [NSEvent  mouseEventWithType:[theEvent type]
  36.                         location:newLocation
  37.                         modifierFlags:[theEvent modifierFlags]
  38.                         timestamp:[theEvent timestamp]
  39.                         windowNumber:[theEvent windowNumber]
  40.                         context:nil    //(NSGraphicsContext*)context
  41.                         eventNumber:[event eventNumber]
  42.                         clickCount:[event clickCount]
  43.                         pressure:[event pressure]];
  44.  
  45.     [myMenu setAutoenablesItems:NO];
  46.     [myView setIsSelected:YES];
  47.     [NSMenu popUpContextMenu:myMenu withEvent:event forView:[self contentView]];
  48.     [myView setIsSelected:NO];
  49. }
  50.  
  51. - (IBAction)openSystemPreferences:(id)sender
  52. {
  53.     NSWorkspace *ws = [NSWorkspace sharedWorkspace];
  54.     
  55.     [ws launchApplication:@"System Preferences"];
  56. }
  57.  
  58. @end
  59.